// 获取状态栏高度
export function getStatusBarHeight(): number {
  // 使用 wx.getSystemSetting 或 wx.getWindowInfo 替代
  const systemInfo = uni.getWindowInfo ? uni.getWindowInfo() : uni.getSystemInfoSync(); // 兼容性处理
  return systemInfo.statusBarHeight || 0;
}

// 获取微信小程序胶囊按钮盒子大小
export function getMenuBox(): number {
  // #ifdef MP-WEIXIN
  const menuButtonRect = uni.getMenuButtonBoundingClientRect();
  const statusBarHeight = getStatusBarHeight();
  return menuButtonRect.height + (menuButtonRect.top - statusBarHeight) * 2;
  // #endif
  return 40; // 默认值，非微信小程序环境
}

// 获取窗口高度
export function getWindowHeight(): number {
  // 使用 wx.getWindowInfo 来替代
  const systemInfo = uni.getWindowInfo ? uni.getWindowInfo() : uni.getSystemInfoSync(); // 兼容性处理
  return systemInfo.windowHeight;
}

// 获取底部安全区距离顶部的距离
export async function getBottomSafeArea(): Promise<number> {
  const systemInfo = uni.getWindowInfo ? uni.getWindowInfo() : uni.getSystemInfoSync(); // 兼容性处理
  return systemInfo.screenHeight - systemInfo.safeArea.bottom;
}
